package com.t.bricks.bussiness.db.dao.loginpast;

import java.util.Date;

import com.t.bricks.bussiness.model.loginpast.ConditionLoginPast;
import com.t.bricks.model.MsgEmity;
import com.t.bricks.model.OrderInfoList;

public interface LoginPastDao {
	
	/**
	 * 查询搜索用的数据
	 * 警告:本方法只允许内部使用,不能开放到外部接口
	 * @param whereStr 查询条件字符串
	 * @param orders 排序数据集合
	 * @return
	 */
	MsgEmity findBySearch(String whereStr, OrderInfoList orders);

	/**
	 * 查询导出到文件的数据
	 * @param orders 排序数据集合
	 * @param sLikeStr 全文检索
	 * @param condition 查询条件对象
	 * @return
	 */
	MsgEmity findByExport(OrderInfoList orders, String sLikeStr, ConditionLoginPast condition);

	//---------------------------- 自动生成代码结束 ----------------------------//

	/**
	 * 取指定时间内签到情况(超级管理员会被排除)
	 * 注意:sName为空则查询所有人(超级管理员还是会被排除)
	 * @param sName 用户名
	 * @param dDateSt 开始时间范围
	 * @param dDateEd 结束时间范围
	 * @return
	 */
	MsgEmity findByDay(String sName, Date dDateSt, Date dDateEd);

	/**
	 * 简约方式添加签到日志
	 * @param sNameOrNo 登录者使用的用户名或工号
	 * @return
	 */
	MsgEmity add(String sNameOrNo);

	/**
	 * 删除
	 * @Param dDateSt 开始时间范围
	 * @Param dDateEd 结束时间范围
	 * @return
	 */
	MsgEmity del(Date dDateSt, Date dDateEd);
	
}
